EN FR
EN FR


Section: New Software and Platforms

GNU MPFR

Participant : Vincent Lefèvre [correspondant] .

GNU MPFR is an efficient multiple-precision floating-point library with well-defined semantics (copying the good ideas from the IEEE-754 standard), in particular correct rounding in 5 rounding modes. GNU MPFR provides about 80 mathematical functions, in addition to utility functions (assignments, conversions...). Special data (Not a Number, infinities, signed zeros) are handled like in the IEEE-754 standard.

MPFR was one of the main pieces of software developed by the old SPACES team at Loria. Since late 2006, with the departure of Vincent Lefèvre to Lyon, it has become a joint project between the Caramel (formerly SPACES then CACAO) and the AriC (formerly Arénaire) project-teams. MPFR has been a GNU package since 26 January 2009.

An MPFR-MPC developers meeting took place from 20 to 22 January 2014 in Nancy. There was no new release this year, but various developments were done in the trunk.

The main work done in the AriC project-team:

  • Changed the behavior of the mpfr_set_exp function to avoid undefined behavior in some cases (this change mainly impacted the internal usage).

  • Bug fixes and various improvements (portability, efficiency, etc.).

  • The mpfr_sum function is being rewritten (new-sum branch); see Section  6.2.8 .

URL: http://www.mpfr.org/

GNU MPFR is on the Black Duck Open Hub community platform for free and open source software: https://www.openhub.net/p/gnu-mpfr

  • ACM: D.2.2 (Software libraries), G.1.0 (Multiple precision arithmetic), G.4 (Mathematical software).

  • AMS: 26-04 Real Numbers, Explicit machine computation and programs.

  • APP: no longer applicable (copyright transferred to the Free Software Foundation).

  • License: LGPL version 3 or later.

  • Type of human computer interaction: C library, callable from C or other languages via third-party interfaces.

  • OS/Middleware: any OS, as long as a C compiler is available.

  • Required library or software: GMP .

  • Programming language: C.

  • Documentation: API in texinfo format (and other formats via conversion); algorithms are also described in a separate document.